There are previously known measures for implementing computer security measures intended to prevent "hackers," disgruntled employees, industrial "spys," irregular security maintenance, and the like from obtaining unauthorized access to or compromising data transferred among computer system resources. It is well known that conventional computer "login" procedures that require entering a user name followed by a password do not provide a high level of security. Such login procedures and passwords are susceptible to disgruntled employees, easily broken, infrequently changed, and easily determined by recording data communications transferred on any signal carrier or telephone line. Never the less, user names and passwords remain the most commonly used type of computer security measure.
A slightly higher security level can be achieved by preventing access to a computer until an additional access code is received. U.S. Pat. No. 4,546,213 issued Oct. 8, 1985 for a MODEM SECURITY DEVICE describes a circuit that conceals a responding modem from a requesting device until an up to 10-digit touch-tone "DTMF" code is entered at the requesting device and is correctly decoded by the circuit. If the correct code is received, the requesting device is connected to the modem and the usual login procedure is followed. However, if a predetermined number of incorrect digits is received, the circuit prevents repeated login attempts by disabling the modem from all communications for a predetermined time period. Unfortunately, DTMF codes are easily determined by monitoring the telephone line, and the system is susceptible to all the problems associated with conventional login procedures.
U.S. Pat. No. 5,131,025 issued Jul. 14, 1992 for an INTELLIGENT MODEM SYSTEM WHICH DETERMINES PROPER ACCESS THERETO describes a login verification system in which the modem searches an authorized users list for a match with an identification code sent by a requesting caller. If a match is found, the modem connects the requesting caller to an associated computer, and the usual login procedure is followed. This system is susceptible to unauthorized use for all the above-described reasons. In addition, once an unauthorized user accesses the modem, the user can add identification codes to the called modem and any other modem identified in the authorized users list. There is no control over the assignment of identification codes, duplicate code prevention, or users that can establish codes.
The above-described problems caused prior workers to devise login procedures intended to mislead, confuse, and otherwise hide the computer from unauthorized users. For example, U.S. Pat. No. 4,905,281 issued Feb. 27, 1990 for a SECURITY APPARATUS AND METHOD FOR COMPUTERS CONNECTED TO TELEPHONE CIRCUITS describes a system in which a security controller is interposed between two modems wherein the first modem is connected to the telephone line and the second modem is connected to a computer. When the first modem receives a call, the caller is connected to the controller and hears either silence or a misleading voice response. If the caller then sends the proper response, the controller connects the first modem to the second modem and the usual login procedure is followed. However, unauthorized users can determine the required codes by monitoring the telephone line, and, as before, the system is not immune to disgruntled employees or poor security maintenance procedures.
An improved method for concealing a login procedure is described in U.S. Pat. No. 4,679,226 issued Jul. 7, 1987 for a COMPUTER SECURITY GUARD CIRCUIT in which a first modem connects a caller to the conventional login procedure of a computer. However, a security guard circuit disconnects the first modem from the computer unless the caller also calls the security guard circuit on a second telephone line within a predetermined time period. This system prevents unauthorized users from determining the complete login procedure by monitoring a single telephone line. However, the system is still not immune to disgruntled employees or poor security maintenance procedures.
Many computer-based applications, such as those found in banks, security houses, governments, and the military, require much higher data security levels. Therefore, a computer callback login procedure was developed in which a caller first follows a conventional login procedure with a computer and then immediately hangs up the phone. The computer then calls the user at a phone number stored in an authorized users list to establish an authorized connection. However, as for prior systems, this system is susceptible to disgruntled employees and poor security maintenance. In addition, the callback to an authorized phone number can be defeated by "hacking" the telephone switch computer and call-forwarding the callback phone number to an unauthorized phone number.
A modification of the callback procedure is described in U.S. Pat. No. 5,003,595 issued Mar. 26, 1991 for SECURE DIAL ACCESS TO COMPUTER SYSTEMS in which the caller's telephone number is identified by an automatic phone number identifying system, such as "caller ID," and then compared with phone numbers in an authorized caller list. This system allows calls only from authorized locations unless, of course, the caller ID system is susceptible to hacking. The system is also susceptible to the usual disgruntled employee and security maintenance problems, and monitoring the telephone line can provide access to an unauthorized user at an authorized phone number.
To circumvent many of the above-described computer security problems, prior workers have devised login procedures that further require the use of user-identifying devices such as magnetic card readers, speech recognizers, eye scanners, and encoded transponders. One such system is described in U.S. Pat. No. 5,153,918 issued Oct. 6, 1992 for a SECURITY SYSTEM FOR DATA COMMUNICATIONS in which access to a host computer is controlled by a central access controller that communicates via modems with transponders attached to each remote user terminal. A user attempting to access the host computer first calls the central access controller, which returns a random number across the telephone line to the user's transponder, which uses the random number to encrypt and decrypt all ensuing communications with the access controller. The user is prompted for a password that the transponder encrypts together with a unique transponder serial number. The encrypted password and serial number are sent to the access controller, which searches an authorization table for matches. If the password and serial number are both matched, the user is prompted to utter a code word into a speech digitizer unit and/or pass a card key through a magnetic card reader. The digitized speech is compressed, encoded, and transmitted to the access controller where its code pattern is verified against stored templates of authorized speech patterns, thereby providing an additional layer of security that is keyed to authorized users.
Even this system has potential security problems. For example, card keys and transponders can be stolen, lost, or not turned in by terminated employees who can then log in from any location until the authorization table is revised. Sending the random number used to establish an encryption key across a potentially monitored telephone line compromises the entire encryption process. Because all communications to the host computer must pass through the central access controller, such a system is not practical for use in widely scattered systems employing multiple host computers and/or diverse resources. Also, the complexity, expense, and unreliability associated with key devices such as voice recognizers, thumbprint readers, and eye scanners discourages their use.
Once logged into a system, a user (authorized or not) typically has unrestricted access to resources including networked servers, applications software, data bases, and user files. In some systems, certain resources have separately defined authorization levels that require users to follow a second login procedure. Users may also encrypt selected files under a user-defined encryption key. However, such multi-level security systems are easily broken or compromised by monitoring communications lines, sharing passwords and encryption keys among employees, poor security maintenance, and abuse by disgruntled employees.
Because authorized access to computer resources is so easily thwarted, data encryption methods ("cryptography") have evolved to prevent compromised data resources from being understood. Network World: Network Security secrets, David J. Stang and Sylvia Moon, 1993, IDG Books Worldwide, Inc., San Mateo, Calif., describes various practical data encryption systems and their relative strengths and weaknesses. Traditional cryptography is based on the sender and receiver of a message knowing and using the same secret key. The main problems with secret keys are generating them and keeping them secret. Of course, during World War II, the German "Enigma" and Japanese "Purple" secret key codes were broken without the use of computers, partly because of poor keys and partly because code books were captured. To solve the key generation and management problems, a public key cryptography system referred to as "RSA" (after its developers) was developed in 1977. Every user is issued or generates a pair of keys, one public and the other private. Every user publishes his public key and keeps the private key a personal secret. The need for senders and receivers to share keys is eliminated. All communications involve only the public keys that are openly transmitted. Clearly, it is a requirement that no one can deduce a private key from a corresponding public key. RSA is very secure. At its lowest level of security, today's fastest computers would require 10 years to break a single key. Unfortunately, RSA is so convoluted and complex that the fastest RSA encryption/decryption circuits can process only 64 kilobits of data per second.
Because encryption/decryption speed is often required, the Data Encryption Standard ("DES") was developed in 1977 by IBM. DES employs a 56-bit secret key system, processes data at a one megabyte per second rate, and is available on an inexpensive microchip. However, the National Security Agency can break DES keys in about one day, so many workers believe its 56-bit key is too short for many secure applications.
Skilled cryptography workers use a triangular (or three-legged stool) model to describe the three dominant factors of cryptography systems, degree of security, system cost, and ease of use. The conventional wisdom is that one of the three factors must be sacrificed to strengthen the other two.
Clearly a need exists for an improved means of establishing, monitoring, and maintaining computer resource data security, particularly in networks of widely distributed and diverse computing resources. Such a security management system should not sacrifice cost, the degree of security, or ease of use and should provide a solution to the key generation and management problem.